home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / libs / Identify.lha / Identify / include / libraries / identify.h next >
C/C++ Source or Header  |  1997-09-01  |  11KB  |  240 lines

  1. /*
  2. **      $VER: identify.i 7.3 (31.8.97)
  3. **
  4. **      identify.library definitions
  5. **
  6. **      (C) Copyright 1996-97 Richard Koerber
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef LIBRARIES_IDENTIFY_H
  11. #define LIBRARIES_IDENTIFY_H    (1)
  12.  
  13. #ifndef EXEC_TYPES_H
  14. #include <exec/types.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18. #include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef UTILITY_TAGITEM_H
  22. #include <utility/tagitem.h>
  23. #endif
  24.  
  25. #define _IDTAGS (0xCD450000)
  26.  
  27. /* ------------------------------------------------------------------------ *
  28. **  Generic library informations
  29. */
  30. #define IDENTIFYVERSION (7)
  31.  
  32. struct IdentifyBase {
  33.   struct  Library ifyb_LibNode;
  34. };
  35.  
  36. #define IDENTIFYBUFLEN  (50)            /*  default buffer length */
  37.  
  38. /* ------------------------------------------------------------------------ *
  39. **  Expansion() tags
  40. */
  41. #define IDTAG_ConfigDev   (_IDTAGS+0x00)  /* (struct ConfigDev *) ConfigDev */
  42.                                           /*  structure to be evaluated */
  43. #define IDTAG_ManufID     (_IDTAGS+0x01)  /* UWORD manufacturer ID if no */
  44.                                           /*  ConfigDev is available */
  45. #define IDTAG_ProdID      (_IDTAGS+0x02)  /* UBYTE product ID if no */
  46.                                           /*  ConfigDev is available */
  47. #define IDTAG_StrLength   (_IDTAGS+0x03)  /* UWORD of maximum buffer length, */
  48.                                           /*  including termination. Default */
  49.                                           /*  is 50. */
  50. #define IDTAG_ManufStr    (_IDTAGS+0x04)  /* STRPTR of manufacturer name */
  51.                                           /*  puffer, or NULL */
  52. #define IDTAG_ProdStr     (_IDTAGS+0x05)  /* STRPTR of product name */
  53.                                           /*  puffer, or NULL */
  54. #define IDTAG_ClassStr    (_IDTAGS+0x06)  /* STRPTR of product class */
  55.                                           /*  puffer, or NULL */
  56. #define IDTAG_DeadStr     (_IDTAGS+0x07)  /* STRPTR deadend or recoverable alert? */
  57. #define IDTAG_SubsysStr   (_IDTAGS+0x08)  /* STRPTR alert subsystem */
  58. #define IDTAG_GeneralStr  (_IDTAGS+0x09)  /* STRPTR alert general cause */
  59. #define IDTAG_SpecStr     (_IDTAGS+0x0A)  /* STRPTR alert specific cause */
  60. #define IDTAG_FuncNameStr (_IDTAGS+0x0B)  /* STRPTR function name */
  61. #define IDTAG_Expansion   (_IDTAGS+0x0C)  /* (struct ConfigDev **) for a */
  62.                                           /*  complete expansion check. Init */
  63.                                           /*  the variable with NULL. */
  64. #define IDTAG_Secondary   (_IDTAGS+0x0D)  /* BOOL warn for secondary expansion */
  65.                                           /*  boards (defaults to FALSE) */
  66.  
  67. /* ------------------------------------------------------------------------ *
  68. **  Hardware description types
  69. */
  70. #define IDHW_SYSTEM       (0)     /*  System (Amiga,DraCo,...)            [V2] */
  71. #define IDHW_CPU          (1)     /*  CPU (68000,68010,...,68060) */
  72. #define IDHW_FPU          (2)     /*  FPU (---,68881,68882,68040,68060) */
  73. #define IDHW_MMU          (3)     /*  MMU (---,68852,68030,68040,68060) */
  74. #define IDHW_OSVER        (4)     /*  OS Version (V*.*) */
  75. #define IDHW_EXECVER      (5)     /*  Exec Version (V*.*) */
  76. #define IDHW_WBVER        (6)     /*  Workbench Version (---,V*.*) */
  77. #define IDHW_ROMSIZE      (7)     /*  OS ROM Size (*KB, *MB) */
  78. #define IDHW_CHIPSET      (8)     /*  Chipset (OCS,ECS,AGA,DraCo) */
  79. #define IDHW_GFXSYS       (9)     /*  Graphic OS (AmigaOS, CyberGraphX, ...) */
  80. #define IDHW_CHIPRAM      (10)    /*  All Chip RAM (*KB, *MB, *GB) */
  81. #define IDHW_FASTRAM      (11)    /*  All Fast RAM (*KB, *MB, *GB) */
  82. #define IDHW_RAM          (12)    /*  All Total RAM (*KB, *MB, *GB) */
  83. #define IDHW_SETPATCHVER  (13)    /*  SetPatch Version (---,V*.*)         [V4] */
  84. #define IDHW_AUDIOSYS     (14)    /*  Audio OS (AmigaOS, AHI, ...)        [V5] */
  85. #define IDHW_OSNR         (15)    /*  AmigaOS (2.04, 3.1, ...) */
  86. #define IDHW_VMMCHIPRAM   (16)    /*  VMM Chip RAM (*KB, *MB, *GB) */
  87. #define IDHW_VMMFASTRAM   (17)    /*  VMM Fast RAM (*KB, *MB, *GB) */
  88. #define IDHW_VMMRAM       (18)    /*  VMM Total RAM (*KB, *MB, *GB) */
  89. #define IDHW_PLNCHIPRAM   (19)    /*  Plain Chip RAM (*KB, *MB, *GB) */
  90. #define IDHW_PLNFASTRAM   (20)    /*  Plain Fast RAM (*KB, *MB, *GB) */
  91. #define IDHW_PLNRAM       (21)    /*  Plain Total RAM (*KB, *MB, *GB) */
  92. #define IDHW_VBR          (22)    /*  Vector Base Register                [V6] */
  93. #define IDHW_LASTALERT    (23)    /*  Last Alert code */
  94. #define IDHW_VBLANKFREQ   (24)    /*  VBlank Frequency */
  95. #define IDHW_POWERFREQ    (25)    /*  Power Frequency */
  96. #define IDHW_ECLOCK       (26)    /*  EClock */
  97. #define IDHW_SLOWRAM      (27)    /*  Plain Slow RAM (*KB, *MB, *GB) */
  98. #define IDHW_GARY         (28)    /*  Gary (---,Normal,...) */
  99. #define IDHW_RAMSEY       (29)    /*  RAMSEY (---,D,F) */
  100. #define IDHW_BATTCLOCK    (30)    /*  Battery Backed Up Clock (---,Found) */
  101. #define IDHW_CHUNKYPLANAR (31)    /*  Chunky To Planar Hardware (---,Found) [V7] */
  102. #define IDHW_POWERPC      (32)    /*  PowerPC present? (---,Found) */
  103. #define IDHW_PPCCLOCK     (33)    /*  PowerPC clock (unit MHz) */
  104. #define IDHW_NUMBEROF     (34)    /*  Number of types, PRIVATE! */
  105.  
  106. /* ------------------------------------------------------------------------ *
  107. **  IDHW_SYSTEM numerical result codes
  108. */
  109. #define IDSYS_AMIGA1000 (0)       /*  Amiga 1000 */
  110. #define IDSYS_AMIGAOCS  (1)       /*  OCS Amiga 500/2000 */
  111. #define IDSYS_AMIGAECS  (2)       /*  ECS Amiga 500/2000 */
  112. #define IDSYS_AMIGA500  (3)       /*  Amiga 500 */
  113. #define IDSYS_AMIGA2000 (4)       /*  Amiga 2000 */
  114. #define IDSYS_AMIGA3000 (5)       /*  Amiga 3000 */
  115. #define IDSYS_CDTV      (6)       /*  CDTV */
  116. #define IDSYS_AMIGA600  (7)       /*  Amiga 600 */
  117. #define IDSYS_CD32      (8)       /*  CD32 */
  118. #define IDSYS_AMIGA1200 (9)       /*  Amiga 1200 */
  119. #define IDSYS_AMIGA4000 (10)      /*  Amiga 4000 */
  120. #define IDSYS_DRACO     (11)      /*  DraCo */
  121.  
  122. /* ------------------------------------------------------------------------ *
  123. **  IDHW_CPU numerical result codes
  124. */
  125. #define IDCPU_68000     (0)       /*  68000 */
  126. #define IDCPU_68010     (1)       /*  68010 */
  127. #define IDCPU_68020     (2)       /*  68020 */
  128. #define IDCPU_68030     (3)       /*  68030 */
  129. #define IDCPU_68EC030   (4)       /*  68EC030 (without MMU) */
  130. #define IDCPU_68040     (5)       /*  68040 */
  131. #define IDCPU_68LC040   (6)       /*  68LC040 (without FPU) */
  132. #define IDCPU_68060     (7)       /*  68060 */
  133. #define IDCPU_68LC060   (8)       /*  68LC060 (without FPU) */
  134.  
  135. /* ------------------------------------------------------------------------ *
  136. **  IDHW_FPU numerical result codes
  137. */
  138. #define IDFPU_NONE      (0)       /*  no FPU */
  139. #define IDFPU_68881     (1)       /*  68881 */
  140. #define IDFPU_68882     (2)       /*  68882 */
  141. #define IDFPU_68040     (3)       /*  68040 */
  142. #define IDFPU_68060     (4)       /*  68060 */
  143.  
  144. /* ------------------------------------------------------------------------ *
  145. **  IDHW_MMU numerical result codes
  146. */
  147. #define IDMMU_NONE      (0)       /*  no MMU */
  148. #define IDMMU_68851     (1)       /*  68851 */
  149. #define IDMMU_68030     (2)       /*  68030 */
  150. #define IDMMU_68040     (3)       /*  68040 */
  151. #define IDMMU_68060     (4)       /*  68060 */
  152.  
  153. /* ------------------------------------------------------------------------ *
  154. **  IDHW_OSNR numerical result codes
  155. */
  156. #define IDOS_UNKNOWN    (0)       /*  <V36 or >V41 */
  157. #define IDOS_2_0        (1)       /*  OS2.0  (V36) */
  158. #define IDOS_2_04       (2)       /*  OS2.04 (V37) */
  159. #define IDOS_2_1        (3)       /*  OS2.1  (V38) */
  160. #define IDOS_3_0        (4)       /*  OS3.0  (V39) */
  161. #define IDOS_3_1        (5)       /*  OS3.1  (V40) */
  162. #define IDOS_3_2        (6)       /*  OS3.2  (V41) */
  163.  
  164. /* ------------------------------------------------------------------------ *
  165. **  IDHW_CHIPSET numerical result codes
  166. */
  167. #define IDCS_OCS        (0)       /*  OCS */
  168. #define IDCS_ECS        (1)       /*  ECS */
  169. #define IDCS_AGA        (2)       /*  AGA */
  170. #define IDCS_ALTAIS     (3)       /*  DraCo Altais */
  171.  
  172. /* ------------------------------------------------------------------------ *
  173. **  IDHW_GFXSYS numerical result codes
  174. */
  175. #define IDGOS_AMIGAOS   (0)       /*  Plain AmigaOS */
  176. #define IDGOS_EGS       (1)       /*  EGS */
  177. #define IDGOS_RETINA    (2)       /*  Retina */
  178. #define IDGOS_GRAFFITI  (3)       /*  Graffiti */
  179. #define IDGOS_TIGA      (4)       /*  TIGA */
  180. #define IDGOS_PROBENCH  (5)       /*  Merlin ProBench */
  181. #define IDGOS_PICASSO   (6)       /*  Picasso */
  182. #define IDGOS_CGX       (7)       /*  CyberGraphX */
  183. #define IDGOS_CGX3      (8)       /*  CyberGraphX 3D */
  184. #define IDGOS_PICASSO96 (9)       /*  Picasso96 */
  185.  
  186. /* ------------------------------------------------------------------------ *
  187. **  IDHW_AUDIOSYS numerical result codes
  188. */
  189. #define IDAOS_AMIGAOS    (0)      /*  Plain AmigaOS */
  190. #define IDAOS_MAESTIX    (1)      /*  MaestroPro driver */
  191. #define IDAOS_TOCCATA    (2)      /*  Toccata driver */
  192. #define IDAOS_PRELUDE    (3)      /*  Prelude driver */
  193. #define IDAOS_AHI        (4)      /*  AHI */
  194. #define IDAOS_MACROAUDIO (5)      /*  MacroAudio */
  195.  
  196. /* ------------------------------------------------------------------------ *
  197. **  IDHW_GARY numerical result codes
  198. */
  199. #define IDGRY_NONE      (0)       /*  No Gary available */
  200. #define IDGRY_NORMAL    (1)       /*  Normal Gary */
  201. #define IDGRY_ENHANCED  (2)       /*  Enhanced Gary */
  202.  
  203. /* ------------------------------------------------------------------------ *
  204. **  IDHW_RAMSEY numerical result codes
  205. */
  206. #define IDRSY_NONE      (0)       /*  No RamSey available */
  207. #define IDRSY_REVD      (1)       /*  RamSey Revision D */
  208. #define IDRSY_REVF      (2)       /*  RamSey Revision F */
  209.  
  210. /* ------------------------------------------------------------------------ *
  211. ** IDHW_POWERPC numerical result codes
  212. */
  213. #define IDPPC_NONE      (0)       /*  No PowerPC implemented */
  214. #define IDPPC_OTHER     (1)       /*  Another PowerPC */
  215. #define IDPPC_602       (2)       /*  602 */
  216. #define IDPPC_603       (3)       /*  603 */
  217. #define IDPPC_603E      (4)       /*  603e */
  218. #define IDPPC_603P      (5)       /*  603p */
  219. #define IDPPC_604       (6)       /*  604 */
  220.  
  221. /* ------------------------------------------------------------------------ *
  222. **  Error codes
  223. */
  224. /* Positive error codes are DOS errors! */
  225. #define IDERR_OKAY      (0)     /* No error */
  226. #define IDERR_NOLENGTH  (-1)    /* Buffer length is 0 ?? */
  227. #define IDERR_BADID     (-2)    /* Missing or bad board ID */
  228. #define IDERR_NOMEM     (-3)    /* Not enough memory */
  229. #define IDERR_NOFD      (-4)    /* No fitting FD file found */
  230. #define IDERR_OFFSET    (-5)    /* Function offset not found */
  231. #define IDERR_DONE      (-6)    /* Done with traversing (not an error) */
  232. #define IDERR_SECONDARY (-7)    /* Secondary expansion board (not an error) */
  233.  
  234. /* ------------------------------------------------------------------------ *
  235. **  That's all...
  236. */
  237.  
  238. #endif
  239.  
  240.